import { login } from '@/api/user'
import { setToken, removeToken, getToken } from '@/utils/auth.js'
const state = {
  token: getToken()
}
const mutations = {
  setToken(state, token) {
    state.token = token
    setToken(token)
  },
  removeToken(state) {
    state.token = null
    removeToken()
  }
}
const actions = {
  /* 不用拦截器的完整写法
  async login(context, data) {
    try {
      // 发请求
      const { data: { data: token, success }} = await login(data)
      // 判断是否成功
      if (success) {
        // 把数据放到state里面
        context.commit('setToken', token)
      } else {
        // 提示错误(是错误,服务返回状态为200)
        Message.error('用户名或者密码错误')
      }
    } catch (error) {
      // 错误,服务器返回500(服务出故障了)403(toke失效了)
      Message.error('服务器繁忙,请稍后再试')
    }
  }
 */
  async login(context, data) {
    // 发请求
    const token = await login(data)
    // 把数据放到state里面
    context.commit('setToken', token)
  }
}
export default {
  namespaced: true,
  state,
  mutations,
  actions
}
